package ioperations;

import book.Book;
import book.BookList;

import java.util.Scanner;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 姚东名
 * Date: 2024-06-22
 * Time: 9:56
 */
public class FindOperation implements IOperation {
    @Override
    public void work(BookList bookList) {
        System.out.println("查找书籍：");

        Scanner scanner = new Scanner(System.in);
        System.out.printf("请输入你的书名：");
        String name = scanner.nextLine();

        int currentSize = bookList.getUsedSize();

        for (int i = 0; i < currentSize; i++) {
            Book book = bookList.getBook(i);
            if (book.getName().equals(name)) {
                System.out.println("找到了这本书：");
                System.out.println(book);
                return;
            }
        }
        System.out.println("没有你要找的这本书....");
    }
}
/*
这个`FindOperation`类实现了`IOperation`接口，并提供了`work`方法用于在`BookList`中查找指定的书籍。以下是该方法逻辑关系的简短分析：

1. **提示用户并接收输入**：
   - 输出提示信息，告知用户正在进行书籍查找操作。
   - 使用`Scanner`类接收用户输入的要查找的书名。

2. **遍历书架上的书籍**：
   - 获取书架当前的使用大小（`currentSize`）。
   - 遍历书架上的每一本书，检查书名是否与用户输入的书名匹配。

3. **查找并输出结果**：
   - 如果找到匹配的书名，输出找到的书籍信息，并结束方法。
   - 如果遍历完所有书籍都没有找到匹配的书名，则输出提示信息表示没有用户要查找的这本书。

简而言之，这个类的`work`方法实现了书籍查找的功能，通过用户输入的书名来在书架中查找书籍，找到则输出书籍信息，未找到则给出相应的提示。
 */